package JavaCode.contest.biweekly.biweekly_n15;

import java.util.Arrays;
import java.util.Comparator;

/**
 * author:fangjie
 * time:2019/12/14
 */
public class N2 {
    public int removeCoveredIntervals(int[][] intervals) {
        int res=0;
        Arrays.sort(intervals, new Comparator<int[]>() {
            @Override
            public int compare(int[] o1, int[] o2) {
                if(o1[0]==o2[0])return Integer.compare(o2[1],o1[1]);
                return Integer.compare(o1[0],o2[0]);
            }
        });
        int right=-1;
        for (int[] i:intervals)
        {
            if(i[1]<=right)res++;
            right=Math.max(right,i[1]);
        }
        return intervals.length-res;
    }
}
/*
给你一个区间列表，请你删除列表中被其他区间所覆盖的区间。

只有当 c <= a 且 b <= d 时，我们才认为区间 [a,b) 被区间 [c,d) 覆盖。

在完成所有删除操作后，请你返回列表中剩余区间的数目。



示例：

输入：intervals = [[1,4],[3,6],[2,8]]
输出：2
解释：区间 [3,6] 被区间 [2,8] 覆盖，所以它被删除了。


提示：​​​​​​

1 <= intervals.length <= 1000
0 <= intervals[i][0] < intervals[i][1] <= 10^5
对于所有的 i != j：intervals[i] != intervals[j]
 */
